Distributed Rendering
The distributed rendering system of Realsoft 3D subdivides an image to a number of sub images and uses available rendering servers to render them.
Rendering on a multi processor workstation
In a multi processor system, the program automatically examines the number of available processors and activates
the respective number of rendering threads. The full power of the computer is used by default.
Sometimes it may be necessary to change the number of rendering threads. For example, you may want to leave one
processor free for other tasks, or perhaps a complex scene requires so much memory that only one processor can be used.
To change the number of rendering threads:
1.Go to the Rendering Settings tab in the Select window and double click the desired rendering settings object to open the property window.

Double click the desired rendering settings object
2. In the Distr tab, clear the Automatic Multi Threading option. Then set the Threads slider to a
suitable value. For example, set Threads to 1 in order to use only one processors.

Set Threads to 1 to use a single processor
3. If you use multiple processors, make sure that Box Rendering is checked and that the number of boxes exceeds
the number of processors. ('Box Count X' times 'Box Count Y' >= Number of processors)
4. Drag & drop the rendering settings object from the select window into the view window. Click 'Render'.
If you use several threads, you can see how several render boxes become rendered simultaneously. If only one thread is
used, boxes become rendered one after another.
You can also select a suitable rendering settings object for the view using the view property window.

A view window uses 'distributed rendering' settings object for rendering.
The file render window contains a similar rendering settings selector allowing you to use multiple processors to render images and animations to a file.
Configuring distributed network rendering
Distributed network rendering means using several workstations connected through a network for rendering.
Before you can use other workstations for rendering, the distributed network rendering system must be configured.
The following things must be prepared for every workstation in the rendering network:
1. TCP/IP protocol must be installed and running. Unfortunately, this is something Realsoft 3D can't set up
automatically for you. Consult your network administrator if necessary.
2. There must be a RendD rendering daemon (or the daemon version RendW which has a control window)
running on every workstation that you want to use for rendering.
You can install Realsoft 3D using the Network option to obtain a minimal render server configuration.
The full program setup naturally contains all required components as well.
RendD is a program, which listens to incoming rendering requests and spawns rendering server threads.
It may be a good idea to insert RendD into the startup folders of render servers. Then the rendering daemon is automatically
activated when a server machine is turned on.
Using network rendering
Once you have prepared the workstations for network rendering, you can ask Realsoft 3D to use one or more of them
for rendering.
1. Define the host names you want to use for rendering in the 'Rendering Settings/Distr' tab.
If you have not defined the machines as "host" names then use the IP addresses instead. In a Windows XP network,
you can use computer names (you can check and change the name in Control Panel/System/Computer Name tab). For example:
a machine is called 'sun' and sun's IP address is 10.0.0.5. You can use either the host name 'sun'
or the IP address of 10.0.0.5.

Network rendering activated. In addition to one local rendering thread, three servers are used for rendering:
moon, mars and sun.
2. Check and if necessary, adjust the render box count. By default, the program estimates a suitable
box count automatically.
By turning off the Automatic Subdivision option, you can change the box count using the 'Box Count X/Y' sliders.
The number of boxes should be higher than the sum of threads and servers so that a single image can be divided
to all threads.
Optimal box count depends on several things, like the speed of the network, available memory, resolution of the image
and performance of the rendering servers. If all the systems are equally fast, the optimal speed might be achieved
by setting the box count to a multiple of the sum of threads and servers. In the example image above, such box counts
are 4, 8, 12, etc. A high box count adapts better to speed differences, but requires slightly more managing work
from the program. Finding the optimal configuration may require some experimentation.
3. Drag & drop the desired rendering settings object into the view window and render. You should now see
several boxes being rendered simultaneously in the View window.
Symmetric multiprocessing and network rendering can be used simultaneously. In other words, you can use
the processors of your local workstation as well as processors in other workstations of the TCP/IP network.
Rendering over internet
When using rendering servers over an internet connection, data transfering often becomes the bottleneck.
The performance can be optimized by configuring a hierarchical rendering distribution tree. For example, consider a
situation where you want to use your local rendering network and another remote network. The actual computers
(their symbolic host names) may be as follows:
- local_dp_1: local dual processor system, the workstation you are working on
- local_sp_2: local single processor system, a render server
- local_sp_3: local single processor system, a render server
- remote_sp_1: remote single processor system, a render server
- remote_dp_2: remote dual processor system, a render server
- remote_dp_3: remote dual processor system, a render server
1. The remote network should be configured as follows:
- remote_sp_1: start 'RendD' just with the default parameters
- remote_dp_2: start 'RendD' with default parameters
- remote_dp_3: start 'RendD remote_sp_1 remote_dp_2'
In above, the dual server (preferably the fastest of the remote servers) is started so that uses its both
processors and also connects to the two other computers on the remote LAN.
2. The local render servers are started as follows:
- local_sp_2: start 'RendD' with the default parameters
- local_sp_3: start 'RendD' with the default parameters
3. The 'Distr' tab render settings of the actual rendering client 'local_dp_1' are the following:
- 'Threads'=2 (or Automatic Multithreading enabled), because there are two processors in the
client itself to utilize
- The 'Hosts' list is remote_dp_3, local_sp_2, local_sp_3
Now the rendering client uses 5 render engines (2 threads + 3 network servers), so the render box count should
be at least 5. However, since the remote network with several processors is probably much faster than
the local single processor render engines, it is best to use high box count that adapts to the speed differences.
Multiplying the thread count by 4 might give a good result:
- Box Count X = 5
- Box Count Y = 4

Now, if the internet connection works fast enough, the remote network may render 6-8 boxes and the
local network the remaining half of the boxes. The following diagram illustrates the structure of the
rendering distribution:

For rendering farms, which have many workstations or whose configuration changes frequently, we recommend
use of the Public Rendering Service. See the Reference Manual for details.